Skip to content

Conversation

silverweed
Copy link
Contributor

Similarly to #19305 with rootls, this PR replaces rootbrowse.py with a native version.
Since rootbrowse is just a thin wrapper over TBrowser, this change is much smaller than for rootls and should be quite straightforward.

NOTE: the new rootbrowse is currently untested on Windows and Mac, so before merging this I would much appreciate if someone could help me with that.

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

Copy link

github-actions bot commented Aug 22, 2025

Test Results

    21 files      21 suites   4d 1h 41m 31s ⏱️
 3 644 tests  3 492 ✅  0 💤 152 ❌
74 774 runs  74 604 ✅ 18 💤 152 ❌

For more details on these failures, see this check.

Results for commit b717f19.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@jblomer jblomer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Copy link
Member

@dpiparo dpiparo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Member

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reporting from my MacOS 15 machine:

  • calling rootbrowse by default starts the webgui, which just hangs and does not produce anything on screen:
08:56:03 (rootdev) vpadulan@vpadulan-macbook rootproject → rootbrowse

ROOT comes with a web-based browser, which is now being started.
Revert to TBrowser by setting "Browser.Name: TRootBrowser" in rootrc file or
by starting "root --web=off"
Find more info on https://root.cern/for_developers/root7/#rbrowser
Info in <THttpEngine::Create>: Starting HTTP server on port 127.0.0.1:8846
Press ctrl+c to exit.
  • setting "Browser.Name: TRootBrowser" in rootrc does not work, rootbrowse does not pick up the option and still tries to start the web graphics

@linev the fact that the web graphics hang on MacOS is troublesome

@linev
Copy link
Member

linev commented Aug 26, 2025

@linev the fact that the web graphics hang on MacOS is troublesome

@vepadulano I see no problem on my Mac with master branch.

root --web=safari -e 'new TBrowser'  

or

root --web=safari -e 'new TBrowser'  

It is troublesome that simple commands is not know to everybody.

@vepadulano
Copy link
Member

What command do you mean specifically? I'm just testing rootbrowse as it is the main goal of this PR

@linev
Copy link
Member

linev commented Aug 26, 2025

@vepadulano

Old rootbrowse based on python. And ROOT graphics - classical one and web-based - does not work reliably on mac with python.

There is PR which provides reasonable solution for python on all platforms - including Windows and Mac.
PR is #17587

It is pending since January.

@silverweed
Copy link
Contributor Author

@linev Vincenzo was referring to this version of rootbrowse, so Python is not involved. We later found that the web graphics was not actually "hanging", but rather opening a window in another desktop without moving automatically to it - this is obviously better than hanging, but still not a great experience for a user. Is it expected to do that or should the web window also get focused automatically (like the classic graphics do)?

@linev
Copy link
Member

linev commented Aug 26, 2025

Is it expected to do that or should the web window also get focused automatically (like the classic graphics do)?

I do not have control over desktop applications when starting external browser via the shell functionality.
Each desktop manager like KDE or Gnome or Windows or Mac have its own methods to control this.
The only exception is use of CEF or Qt6 WebEngine - but they sometime have other problems and normally not present on the system

Copy link
Member

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on my MacOS ARM laptop, works with both traditional graphics and web graphics, thanks!

@silverweed silverweed merged commit 4d00f58 into root-project:master Sep 2, 2025
58 of 70 checks passed
@silverweed silverweed deleted the rootbrowse_cxx branch September 2, 2025 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants